#ifndef __RAWMEMORYREQUEST__
#define __RAWMEMORYREQUEST__

#include "base/Request.h"
#include "base/simconstants.h"

/**
   Retrieve the most up to date data (whether cached or not).

   This is used to provide GDB support, and in some signal handling.
*/

class RawMemoryRequest : public Request {
  public:
    NEW_DELETE_OPERATORS_H(RawMemoryRequest,Request);
    RawMemoryRequest (Entity* src, Entity* dest, VA blockAddress);

    ~RawMemoryRequest();

    uint32* getData ();
    VA getAddress ();

  protected:
    VA     address;
    uint32 data[MAX_BLOCK_SIZE];
};

#endif // __RAWMEMORYREQUEST__

